package cn.hncev.xiaohui;

import java.util.ArrayList;
import java.util.Scanner;

public class HomeWork2 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		System.out.println("------欢迎来到点歌系统------");
		System.out.println("0.添加歌曲至列表");
		System.out.println("1.将歌曲置顶");
		System.out.println("2.将歌曲前移一位");
		System.out.println("3.退出");
		ArrayList lineUpList =new ArrayList();//创建歌曲列表
		addMusicList (lineUpList);
		while(true) {
			System.out.println("请输入执行的操作序号：");
			Scanner scanner =new Scanner(System.in);
			int command =scanner.nextInt();//接收键盘输入的功能选线序号
			switch (command) {
			case 0://添加歌曲对应的
				addMusicList(lineUpList);
				break;
			case 1://添加歌曲至列表
				setTop(lineUpList);
				break;
			case 2://将歌曲置顶
				setBefore(lineUpList);
				break;
				case 3://退出
					exit1();
					break;
			default:
				System.out.println("-------------");
				System.out.println("功能选择有误，请输入正确的功能序号！");
				break;
			}
			System.out.println("当前歌曲列表："+lineUpList);
		}
	}

  //初始时添加歌曲名称
	   private static void addMusicList(ArrayList lineUpList) {
		   lineUpList.add("稻香");
		   lineUpList.add("等你下课");
		   lineUpList.add("东风破");
		   System.out.println("初始歌曲列表"+lineUpList);
	   }//执行添加歌曲
	   private void addMusic(ArrayList lineUpList) {
			System.out.println("输入要添加的歌曲名称:");
			String musicName =new Scanner(System.in).nextLine();
			lineUpList.add(musicName);
			System.out.println("已添加歌曲:"+musicName);
			
		}
	   //执行将歌曲置顶
	   private static void setTop(ArrayList lineUpList) {
			System.out.println("请输入要置顶的歌曲：");
			String musicName =new Scanner(System.in).nextLine();
			int index =lineUpList.indexOf(musicName);
			if (index >0) {
				lineUpList.remove(musicName);//移除指定的歌曲
				lineUpList.add(0,musicName);//将指定的歌曲放在第一位
				System.out.println("已将歌曲"+musicName+"置顶");
			}else if(index ==0) {
				System.out.println("当前歌曲已最顶部");	
			}else {
				System.out.println("当前歌曲列表没有输入的歌曲");	
			}
		}//执行将歌曲前置一位
	   private static void setBefore(ArrayList lineUpList) {
			System.out.println("请输入要置前的歌曲名称:");	
			String musicName =new Scanner(System.in).nextLine();
			int position = lineUpList.indexOf(musicName);
			if (position <0) {
				System.out.println("当前列表没有输入歌曲");
			}else if (position==0) {
				System.out.println("当前歌曲已在顶部");
			}else {
				lineUpList.remove(musicName);
				lineUpList.add(position - 1,musicName);
			}
			System.out.println("已将歌曲"+musicName+"置前一位");
		}//退出
		private static void exit1() {
			System.out.println("-------退出--------");
			System.out.println("您已退出系统");
			System.out.println(0);
		}
	}



